package com.ocom.payconfig.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ocom.common.entity.card.EntityXfPointInfo;
import com.ocom.common.entity.payconfig.EntityMealPlan;
import com.ocom.common.request.payconfig.MealPlanListRequest;
import com.ocom.common.request.payconfig.RemoveMealPlanRequest;
import com.ocom.common.vo.payconfig.OrderPlanMealVo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface MealPlanService extends IService<EntityMealPlan> {
	List<EntityMealPlan> mealPlanList(Long companyId, MealPlanListRequest request);

	Boolean removeMealPlan(Long companyId, RemoveMealPlanRequest request);

	Boolean newMealPlan(Long companyId, EntityMealPlan entityMealPlan);

	Boolean updateMealPlan(Long companyId, EntityMealPlan entityMealPlan);

	Integer checkPlanName(Long companyId, EntityMealPlan entityMealPlan, boolean isNew);

	List<EntityMealPlan> mealPlanList(Long companyId);

	EntityMealPlan mealPlanInfo(Long companyId, Integer mealplanId);


	EntityMealPlan upToDateMealPlanInfo(Long companyId,
//										Integer merchId,
										Integer pointId,
										Integer receiptId,
										String mealDate
										);


	List<EntityMealPlan> getMerchPointList(Long companyId,
									Integer receiptId,
									String mealDate);


	List<OrderPlanMealVo> getOrderPlanMeal(Long companyId,
										   String mealDate,String tagIds);

	List<OrderPlanMealVo> getOrderPlanMeal(Long companyId,
										   String mealDate,String tagIds,Integer pointId);

	List<EntityXfPointInfo> getMealPlanPointList(Long companyId,
												 Integer merchId);
}
